Dynamic method for emoticon translation

ABSTRACT

A vehicle communication system is provided and may include at least one communication device that audibly communicates information within the vehicle. A controller may receive a character string from an external device and may determine if the character string represents an emoticon. The controller may translate the character string into a face description if the character string represents an emoticon and may audibly communicate the face description via the at least one communication device.

FIELD

The present disclosure relates to communication systems and moreparticularly to a communication system for translating emoticons.

BACKGROUND

Text messaging is an increasingly popular form of communication and isoften used when communicating between two mobile devices to conveyinformation quickly and succinctly. To that end, messages sent via textmessage typically include abbreviations rather than entire phrases orsentences. For example, the phrase “laugh out loud” is typicallyreferred by the acronym “LOL.” Representing a phrase by an acronymreduces the typing time associated with generating a text message andprovides the recipient of the text message with sufficient informationto understand what the sender is trying to convey.

While text messages adequately convey information between mobiledevices, detecting a sender's emotion is often difficult given that mosttext messages are short and relatively to the point. In an effort toconvey emotion along with a text message, emoticons are often insertedinto a text message to convey an emotion. For example, a colon “:”followed by a “)” signifies to the recipient that the sender is happy,as the combination of a colon with a close parenthesis generates whatappears to be a horizontal face when displayed in conjunction with atext message. Such emoticons provide text messages with emotion andallow a user to convey how they are feeling and in what light a textmessage should be read. For example, a text message stating “I will c Ulater” if used in conjunction with a colon and a close parenthesis, “:)”signifies that the sender is looking forward to or is happy about seeingthe recipient later. Conversely, if the sender includes a colon alongwith an open parenthesis, “:(” signifies that the sender is unhappy oris otherwise not looking forward to meeting the recipient later. Withoutincluding the foregoing emoticons with the phrase “I'll c U later,” therecipient has no way of knowing if the sender is happy, sad, orindifferent about the meeting.

Text messages, when sent between a pair of devices having a visualdisplay, adequately convey information between a recipient and sender.However, in situations where it is difficult to view a display of adevice, text messaging is often inadequate and therefore does notadequately convey information between a sender and a recipient. Undersuch circumstances, conventional systems may incorporate an audibledevice to read a text message, thereby allowing a recipient to performother tasks without having to visually see the text message. Forexample, a mobile phone may include a system that audibly communicates atext message to a recipient, thereby allowing the information of thetext message to be received by the recipient without requiring therecipient to visually read the text message on a display of the mobilephone. While such systems may communicate text messages to a recipient,it is desirable to include the capability of communicating an emoticon.

SUMMARY

A vehicle communication system is provided and may include at least onecommunication device that audibly communicates information within thevehicle. A controller may receive a character string from an externaldevice and may determine if the character string represents an emoticon.The controller may translate the character string into a facedescription if the character string represents an emoticon and mayaudibly communicate the face description via the at least onecommunication device.

A method is provided and may include receiving a character string anddetermining by a processor whether the character string represents anemoticon. The method may further include performing by the processor avertical-face algorithm to determine if the character string representsa vertical face and performing by the processor a horizontal-facealgorithm to determine if the character string represents a horizontalface. The processor may then translate the character string into a facedescription based on the outcome of at least one of the vertical-facealgorithm and the horizontal-face algorithm. Finally, the facedescription may be communicated.

In another configuration, a method is provided and may include receivinga character string and determining by a processor whether the characterstring includes a space. The method may also include removing by theprocessor the space, splitting by the processor the character stringinto a first character string and a second character string at thespace, and determining by the processor whether either or both of thefirst character string and the second character string represents anemoticon. The processor may perform a vertical-face algorithm todetermine if either or both of the first character string and the secondcharacter string represents a vertical face and may perform ahorizontal-face algorithm to determine if either or both of the firstcharacter string and the second character string represents a horizontalface. The processor may then translate at least one of the firstcharacter string and the second character string into a face descriptionbased on the outcome of at least one of the vertical-face algorithm andthe horizontal-face algorithm. The face description may then becommunicated.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description, drawings and claims providedhereinafter. It should be understood that the detailed description,including disclosed embodiments and drawings, are merely exemplary innature, intended for purposes of illustration only, and are not intendedto limit the scope of the invention, its application, or use. Thus,variations that do not depart from the gist of the invention areintended to be within the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic representation of a vehicle incorporating acommunication system in accordance with the principles of the presentdisclosure;

FIGS. 2A-2B provide a flowchart detailing an emoticon algorithm for useby the communication system of FIG. 1;

FIG. 3 is a flowchart detailing operation of a character-string-checkalgorithm for use by the communication system of FIG. 1;

FIGS. 4A-4C provide a flowchart detailing operation of a vertical-facealgorithm for use by the communication system of FIG. 1;

FIG. 5 is a flowchart detailing operation of a horizontal-face algorithmfor use by the communication system of FIG. 1;

FIG. 6A-6C provide a flowchart detailing operation of a horizontalleft-to-right face algorithm for use by the communication system of FIG.1;

FIG. 7A-7C provide a flowchart detailing operation of a horizontalright-to-left face algorithm for use by the communication system of FIG.1;

FIG. 8 is a table identifying single-definition emoticons for use by thecommunication system of FIG. 1;

FIG. 9 is a table identifying emoticon vertical-face characters for useby the communication system of FIG. 1;

FIG. 10 is a table identifying emoticon horizontal left-to-right primaryface attribute characters for use by the communication system of FIG. 1;

FIG. 11 is a table identifying emoticon horizontal left-to-rightsecondary face attribute characters for use by the communication systemof FIG. 1;

FIG. 12 is a table identifying emoticon horizontal right-to-left primaryface attribute characters for use by the communication system of FIG. 1;and

FIG. 13 is a table identifying emoticon horizontal right-to-leftsecondary face attribute characters for use by the communication systemof FIG. 1.

DETAILED DESCRIPTION

With particular reference to FIG. 1, a communication system 10 isprovided and may include a controller 12 in communication with a mobiledevice 14. In an exemplary embodiment, the mobile device 14 can be amobile phone as depicted in FIG. 1. In other exemplary embodiments, thedevice 14 can be another remote communication device type not joinedwith the vehicle structure such as a remote computer, laptop etc. Thecontroller 12 may receive information from the mobile device 14 such asa character string that represents a text message. The controller 12 mayperform a series of algorithms (FIGS. 2A-7C) to translate the characterstring into a visual and/or audio message in an effort to communicatethe text message to a recipient. The controller 12 may perform thevarious algorithms (FIGS. 2A-7C) to ensure that any emoticons containedin the character string are likewise visually and/or audiblycommunicated to the recipient.

In one configuration, the communication system 10 may be incorporatedinto a vehicle 16. The communication system 10 may be a stand-alonesystem or, alternatively, may be incorporated into or associated with anentertainment system 18 of the vehicle 16. For example, thecommunication system 10 may be a component of the entertainment system18 and may be in communication with a display 24 and/or speakers 26 ofthe entertainment system 18. The communication system 10 may communicatea translated text message via at least one of the display 24 and thespeakers 26 to allow a recipient to visually and/or audibly receive atext message received from the mobile device 14. While the algorithmsset forth in FIGS. 2A-7C may be used to translate an emoticon associatedwith a text message between any electronic devices (i.e., between twomobile devices or between a mobile device and a computer), thealgorithms set forth in FIGS. 2A-7C will be described and shownhereinafter in the context of a vehicle 16.

Regardless of whether the communication system 10 is a stand-alonesystem or is incorporated into the entertainment system 18 of thevehicle 16, the controller 12 of the communication system 10 may includea processor 20 and memory 22. The processor 20 and memory 22 could be ashared processor and shared memory of a controller (not shown)associated with the entertainment system 18 or, alternatively, may be ashared processor and a shared memory with a vehicle controller (notshown). The controller may be configured as or may include anApplication Specific Integrated Circuit (ASIC), an electronic circuit, aprocessor (shared, dedicated or group) and memory that executes one ormore software or firmware programs, a combinational logical circuit,and/or suitable components that provide the described functionality.Regardless of the particular configuration of the controller 12, thealgorithms set forth in FIGS. 2A-7C may be stored in the memory 22 ofthe controller 12 and may be executed by the processor 20.

As will be described in greater detail below, the algorithms of FIGS.2A-7C may be executed by the processor 20 to allow the communicationsystem 10 to visually and/or audibly communicate a text message receivedfrom the mobile device 14 including any emoticons contained within thetext message. Specifically, the communication system 10 may translatethe text message into readable text and may visually and/or audiblycommunicate the text once translated. Translating the text may includedisplaying and/or audibly communicating a phrase identified in the textmessage received from the mobile device 14 by way of an acronym suchthat the entire phrase is visually and/or audibly communicated. Forexample, a text message received from the mobile device 14 may includean acronym such as “LOL.” The communication system 10 may translate theacronym “LOL” into the phrase “laugh out loud” and will visually and/oraudibly display the phrase “laugh out loud.”

Likewise, the communication system 10 may perform the various algorithmsset forth in FIGS. 2A-7C to translate an emoticon contained within thetext message received from the mobile device 14. For example, thecommunication system 10 via the controller 12 may translate an emoticonbased on the algorithms set forth in FIGS. 2A-7C to visually and/oraudibly recite a face description based on a character string containedwithin the text message. For example, the communication system 10 mayvisually and/or audibly communicate the face description “smiling face”if the text message received from the mobile device 14 contains thefollowing character string: space “:)” to allow the recipient tovisually and/or audibly receive the emoticon and understand the emotionof the sender. The following description and related FIGS. 2A-7C providealgorithms performed by the processor 20 that allow the processor 20 totranslate emoticons contained within text messages received from themobile device 14 on-the-fly with dynamic flexibility and are not limitedto static, look-up tables, or static relationships.

With particular reference to FIGS. 2A-2B, a flowchart is provideddetailing an algorithm for use by the controller 12 in determiningwhether a character string contained within a text message received fromthe mobile device 14 is an emoticon and, if so, what type of facedescription the emoticon represents. The controller 12 first receives acharacter string from the mobile device 14 at 28. The processor 20determines if the character string is listed on an emoticon,single-definition table shown in FIG. 8 at 30. If the character stringreceived from the mobile device 14 is found within the emoticon,single-definition table of FIG. 8, the controller 12 visually displaysand/or audibly communicates the associated face description via thedisplay 24 and/or speakers 26 of the entertainment system 18 at 32. Itshould be noted that while FIG. 8 provides six exemplarysingle-definition emoticons, any number of single-definition emoticonscould be included in the memory 22.

If the character string received from the mobile device 14 is not listedon the emoticon, single-definition table of FIG. 8, the processor 20first determines if the character string contains only one space at 34.If the character string does not include only one space, the processor20 next determines whether the character string contains zero spaces at36. If the character string does not contain zero spaces, and does notinclude only a single space, the processor 20 determines that thecharacter string contains more than one space and, as a result, mayapply non-emoticon, text-to-speech rules at 38. Test to speech rulesinclude existing protocol and methods for converting text to speech,interpretation, language recognition, etc. The processor 20 may alsovisually display and/or audibly communicate the character stringreceived from the mobile device 14 via the entertainment system 18 at40.

If the character string contains one space, as determined at 34, theprocessor 20 may remove the space and split the character string into afirst string (A) and a second string (B) at 42. The processor 20 maythen perform a character string check on the first string (A) and mayperform a character string check on the second character string (B) at44 and may determine whether at least one of the first character string(A) and the second character string (B) can be an emoticon at 46. Ifneither character string (A), (B) can be an emoticon, the processor 20may apply the non-emoticon, text-to-speech rules at 38 and may visuallydisplay and/or audibly communicate the character string at 40 via theentertainment system 18 of the vehicle 16. If, on the other hand, atleast one of the character strings (A), (B) can be an emoticon, theprocessor 20 may then determine if both of the character strings (A),(B) can be emoticons at 48. If both of the character strings (A), (B)cannot be emoticons, the processor 20 may perform a horizontal-facealgorithm on the one of the character strings (A), (B) that could be anemoticon based on the algorithms set forth in FIGS. 5-7 at 50.

The processor 20 may perform the algorithms set forth in FIGS. 5-7 andmay determine whether the character string represents a horizontal facebased on the results of at least one of the algorithms set forth inFIGS. 5-7 at 52. If the character string represents a horizontal face at52, the controller 12 may visually display and/or audibly communicatethe face description via the entertainment system 18 at 54. If thecharacter string does not represent a horizontal face at 52, theprocessor 20 may apply the non-emoticon, text-to-speech rules at 38 andmay then visually display and/or audibly communicate the characterstring at 40.

If both of the first character string (A) and the second characterstring (B) can be emoticons at 48, the processor 20 may determinewhether the character string matches a series of characters, as definedin the table of FIG. 9 at 56. The processor 20 may utilize the table setforth in FIG. 9 to determine if there is a vertical face match at 58and, if so, may visually and/or audibly communicate the face descriptionvia the entertainment system 18 at 60. If the processor 20 determinesthat there is not a vertical face match at 58, the processor 20 mayperform the horizontal face algorithm at 50 based on the algorithm setforth in FIGS. 5-7. The processor 20 may then determine whether thecharacter string represents a horizontal face at 52 and, if so, mayvisually display and/or audibly communicate the face description at 54via the entertainment system 18. If, on the other hand, the characterstring does not represent a horizontal face at 52, the processor 20 mayapply the non-emoticon, text-to-speech rules at 38 and may visuallydisplay and/or audibly communicate the character string at 40 via theentertainment system 18.

If the processor 20 determines that the character string does notcontain one space at 34 and does identify the character string ascontaining zero spaces at 36, the processor 20 may perform a characterstring check on the character string at 62. The character string checkperformed at 44 and the character string check performed at 62 may beperformed by the processor 20 based on the algorithm set forth at FIG.3, as will be described in greater detail below.

The processor 20, based on the character string check algorithm setforth in FIG. 3, may determine whether the character string can beconsidered an emoticon at 64. If the processor 20 determines that thecharacter string cannot be an emoticon at 64, the processor 20 appliesthe non-emoticon, text-to-speech rules at 38 and visually displaysand/or audibly communicates the character string at 40 via theentertainment system 18. If the processor 20 determines that thecharacter string can be an emoticon at 64, the processor 20 first checksif the character string matches a series of characters defined by theemoticon, vertical face characters table of FIG. 2B at 56.

The processor 20 then determines if the character string matches avertical face character based on the table set forth in FIG. 9 at 58and, if so, visually displays and/or audibly communicates the verticalface description at 60 via the entertainment system 18. If the processor20 determines that there is not a vertical face match at 58, theprocessor 20 may perform the horizontal face algorithms set forth inFIGS. 5-7 at 50 and may determine whether the character stringrepresents a horizontal face at 52. If the processor 20 determines thatthe character string represents a horizontal face at 52, the processor20 may visually display and/or audibly communicate the horizontal facedescription at 54 via the entertainment system 18. If, on the otherhand, the processor 20 determines that the character string does notrepresent a horizontal face at 52, the processor 20 may apply thenon-emoticon, text-to-speech rules at 38 and may visually display and/oraudibly communicate the character string at 40 via the entertainmentsystem 18.

As described above with respect to FIGS. 2A-2B, the controller 12 mayperform a character string check on the character string received fromthe mobile device 14. With particular reference to FIG. 3, the processor20 may start the character string check algorithm at 66 upon receipt ofa character string from the mobile device 14. The processor 20 firstchecks to see if the character string contains consecutive digits at 68and if so, determines that the character string cannot be an emoticon at70. If the character string cannot be an emoticon, as determined at 70,the processor 20 exits the character string check algorithm at 72 andproceeds to apply non-emoticon, text-to-speech rules at 38 (FIG. 2B). Ifthe processor 20 determines that the character string does not containconsecutive digits at 68, the processor 20 next determines whether thecharacter string contains two or more non-alphabetic characters at 74.If the character string contains two or more non-alphabetic characters,the processor 20 determines that the character string can be an emoticonat 76 and proceeds to exit the emoticon character string check algorithmat 72.

As shown in FIG. 2B, upon exiting the character string check algorithmat 72, if the character string can be an emoticon, as determined at 76,the processor 20 will proceed to either steps 50 or 56. If the processor20 determines that the character string does not contain two or morenon-alphabetic characters, the processor 20 next determines whether thecharacter string contains one or more non-alphabetic characters and twoor less alphabetic characters at 78. If the character string containsone or more non-alphabetic characters and two or less alphabeticcharacters, the processor 20 determines that the character string can bean emoticon at 76 and exits the emoticon character string checkalgorithm at 72. Again, if the character string can be an emoticon asdetermined at 76, the processor 20 then moves to steps 50 or 56 of FIG.2B to determine whether the emoticon represents a horizontal face or avertical face. If the processor 20 determines that the character stringdoes not contain one or more non-alphabetic characters and two or lessalphabetic characters at 78, the processor 20 determines that thecharacter string cannot be an emoticon at 70 and exits the emoticoncharacter string check algorithm at 72. Upon exiting the emoticoncharacter string check algorithm at 72, the processor 20 moves to step38 of FIG. 2B and applies the non-emoticon text-to-speech rules.

As described above with respect to FIGS. 2A-2B, the processor 20 mayapply a vertical-face algorithm at 56 and/or a horizontal-face algorithmat 50 to determine whether a character string received from the mobiledevice 14 represents a vertical face or a horizontal face. Withparticular reference to FIGS. 4A-4B, the vertical-face algorithm isprovided and may be initiated by the processor 20 at 80. The processor20 first checks the character string received from the mobile device 14by checking the characters from left to right until a base eye characteris found or the end of the character string is determined at 82. If theend of the character string is determined at 84, the processor 20determines that the character string does not represent a vertical faceemoticon at 86 and exits the vertical face algorithm at 88. Upon exitingthe vertical face algorithm at 88, the processor 20 may move to step 50of FIG. 2B to then determine whether the character string received fromthe mobile device 14 represents a horizontal face, as will be describedin greater detail below.

If the processor 20 determines at 84 that the end of the characterstring has not been reached prior to identifying a base eye character,the processor 20 next determines whether the base eye character is a “˜”at 90. If the processor 20 determines that the base eye character is a“˜” at 90, the processor 20 then checks the next character in thecharacter string moving left to right and directly adjacent to the “˜”to determine whether there is a defined “without a space” secondcharacter at 92. If the processor 20 determines that the second locationincludes a defined “without a space” second character, the processor 20determines whether the defining characters may be enclosed at 94. If theprocessor 20 determines that the characters cannot be enclosed at 94,the processor 20 reads the associated vertical-face description from thetable shown in FIG. 9 at 98 and then determines if the “˜” is used witha different base eye character at 100. If the processor 20 determinesthat the “˜” is used with a different base eye character at 100, theprocessor 20 returns the vertical-face description with the prefix“winking” at 102. If the processor 20 determines that the “˜” is notused with a different base eye character at 100, the processor 20returns the vertical-face description without the prefix “winking” at104. Once the processor 20 returns the vertical-face description eitherwith the prefix “winking” at 102 or without the prefix “winking” at 104,the processor 20 exits the vertical face algorithm at 106.

If the processor 20 determines that the characters may be enclosed at94, the processor 20 then determines whether there are characters beforeand after matching enclosure characters at 96. If so, the processor 20then moves to steps 98-106, as described above.

If the processor 20 determines at 96 that there are not matchingenclosure characters, then the processor 20 determines whether thedefining characters may not be enclosed at 108. If the definingcharacters may not be enclosed, as determined by the processor 20 at108, the processor 20 then moves to steps 98-106, as described above. Ifthe processor 20 determines that the defining characters must beenclosed at 108, the processor 20 again checks the character string fromleft to right to determine a base eye character or the end of thecharacter string at 110.

If the processor 20 determines at step 92 that the second characteradjacent to the “˜” character identified at step 90 is not a defined“without a space” second character, the processor 20 then determineswhether the third character (i.e., moving left to right along thecharacter string from the “˜” character) includes a defined secondcharacter or a “˜” at 112. If not, the processor 20 moves to step 110 toonce again determine from left to right whether the character stringincludes a base eye character or the processor 20 has reached the end ofthe character string. If the processor 20 determines that the thirdlocation includes a defined second character or a “˜” at 112, theprocessor 20 then determines whether the character in between the eyecharacter is acceptable at 114. If not, the processor 20 moves to step110 to once again determine from left to right whether the characterstring includes a base eye character or the processor 20 has reached theend of the character string. If the processor 20 determines that thecharacter between the eye character is acceptable at 114, the processor20 then determines whether the defining characters can be enclosed at118 and, if not, the processor 20 then moves to step 98 and performssteps 98-106, as described above.

If the defining characters can be enclosed, as determined at step 118,the processor 20 then determines whether the characters before and afterare matching enclosure characters at 120. If the characters are matchingenclosure characters, as determined at step 120, the processor 20 thenproceeds to perform steps 98-106. If the characters before and after arenot matching enclosure characters, as determined at step 120, theprocessor 20 then determines whether the defined characters may not beenclosed at 122. If the defining characters may not be enclosed, theprocessor 20 then moves to step 98 and performs steps 98-106. If thedefining characters must be enclosed, as determined by step 122, theprocessor 20 moves to step 110 to once again check the character stringfrom left to right until a base eye character is found or the end of thecharacter string is identified.

Moving back to steps 82, 84, and 90, if the processor 20 determines abase eye character at 82 and does not determine the end of the characterstring at 84, and, further, that the base eye character is not a “˜” at90, the processor 20 then determines whether the character can be“without a space” based on the table shown in FIG. 9 at 124. If not, theprocessor 20 moves to step 112 and proceeds as described above. If theprocessor 20 determines that the base eye character can be a character“without a space” at 124, the processor 20 then determines whether thedefined second character (i.e., the character adjacent to the base eyecharacter moving left to right across the character string) includes adefined second character or a “˜” at 126. It should be noted that whenthe processor 20 determines whether the base eye character can be“without a space” at step 124, the processor 20 determines whether thebase eye characters may be spaced apart and separated by an adjacentcharacter to define a pair of eye characters with the adjacent characterbeing a “separated by” character, as set forth in the table shown inFIG. 9. Base eye characters with a “separated by” character indicate aparticular face. As described above with respect to steps 102 and 104,the “˜” can be submitted for any of the base eye characters set forth inthe table of FIG. 9 to add the description “winking.”

If the processor 20 determines that the location directly to the rightand adjacent to the base eye character includes a defined secondcharacter or a “˜,” the processor 20 then proceeds to step 94. If, onthe other hand, the processor 20 determines at step 126 that thelocation directly adjacent to the base eye character does not include adefined second character or a “˜,” the processor 20 then determineswhether the base character can be positioned adjacent to a “separatedby” character based on the table shown in FIG. 9 at 128. If the base eyecharacter can be associated with a “separated by” character adjacent tothe base eye character, as determined by step 128 in conjunction withthe table shown in FIG. 9, the processor 20 then determines whether thethird location moving left to right across the character string from thebase eye character includes a defined character or a “˜” at 112. If theprocessor 20 determines at step 128 that the base eye character cannotbe associated with a space directly adjacent to the base eye character,the processor 20 then moves to step 110 to once again check thecharacter string moving left to right until a base eye character isfound or the end of the character string is determined.

As described above, the processor 20 performs the vertical-facealgorithm of FIGS. 4A-4B in an effort to determine a vertical-facedescription with or without a “winking” prefix. If the processor 20determines a vertical-face description with or without the “winking”prefix, the vertical-face description may be visually displayed and/oraudibly communicated at step 60 of FIG. 2B. If, on the other hand, theresults of the vertical-face algorithm of FIGS. 4A-4B indicate that thecharacter string received from the mobile device 14 does not represent avertical-face emoticon at 86, the processor 20 may then perform thehorizontal-face algorithm set forth in FIGS. 5-7 at step 50 of FIG. 2B.

With particular reference to FIG. 5, the horizontal-face algorithm maybe initiated at 130, whereby the processor 20 first performs ahorizontal left-to-right face algorithm on the character string receivedfrom the mobile device 14 utilizing the table of FIG. 10 and the tableof FIG. 11 at 132. The table of FIG. 10 represents horizontalleft-to-right primary face attribute characters while the table of FIG.11 represents horizontal left-to-right secondary face attributecharacters. The processor 20 then determines at 134 whether thecharacter string represents a left-to-right horizontal face emoticondescription at 134 and, if so, exits the horizontal-face algorithm andreturns the horizontal-face definition at 136. The horizontal-facedefinition may be visually displayed and/or audibly communicated via theentertainment system 18 at step 54 of FIG. 2B if the processor 20determines the horizontal-face definition at 136.

If the processor 20 determines that there is not a left-to-righthorizontal face emoticon description at 134, the processor 20 mayperform a horizontal right-to-left face algorithm on the characterstring received from the mobile device 14 utilizing the table of FIG. 12and the table of FIG. 13 at 138. The table of FIG. 12 representshorizontal right-to-left primary face attribute characters while thetable of FIG. 13 represents horizontal right-to-left secondary faceattribute characters.

The processor 20 then determines whether there is a right-to-lefthorizontal face emoticon description at 140 and, if so, proceeds to step136, whereby the processor 20 exits the horizontal-face algorithm andreturns the horizontal-face definition for visual and/or audiocommunication thereof at step 54 of FIG. 2B. If the processor 20determines that there is not a right-to-left horizontal face emoticondescription at 140, the processor 20 exits the horizontal-face algorithmand indicates that the character string received from the mobile device14 does not represent a horizontal face emoticon at 142. Upon exitingthe horizontal-face algorithm and determining that the character stringreceived from the mobile device 14 does not represent a horizontal faceemoticon definition, the processor 20 may then move to step 38 of FIG.2B and may apply non-emoticon, text-to-speech rules.

As indicated in FIGS. 2A-2B, if the controller 20 determines that acharacter string can be an emoticon and, further that the characterstring does not represent a vertical face, the controller 20 performs ahorizontal-face algorithm at step 50 to determine whether the characterstring represents a horizontal face. Further, with respect to FIG. 5,the processor 20 first determines whether the character stringrepresents a horizontal left-to-right face by utilizing the algorithm ofFIGS. 6A-6C and may subsequently determine whether the character stringrepresents the horizontal right-to-left face based on the algorithm ofFIG. 7A-7C.

With particular reference to FIGS. 6A-6C, the processor 20 firstinitiates the left-to-right horizontal face algorithm at 144. Theprocessor 20 then checks the character string received from the mobiledevice 14 from left-to-right until a first eye character set is found,as set forth in the table of FIG. 10 or the end of the character stringis determined at 146. The processor 20 then determines whether the endof the character string has been reached at 148 and, if so, determineswhether each eye character set forth in the table of FIG. 10 has beenconsidered at 150 and, if so, exits the horizontal left-to-right facealgorithm, indicating that the character string does not represent aleft-to-right horizontal face at 152. If the processor 20 determinesthat each character set forth in the table of FIG. 10 has not beenconsidered at 150, the processor 20 proceeds to continue to check thecharacter string from left-to-right until the next eye character set isfound or the end of the character string is determined at 154.

If the end of the character string is not determined at 148, theprocessor 20 then determines whether the eye character is an eyecharacter from group (A) or from group (B) at 156. If the eye characteris from either group (A) or group (B), the processor 20 then determineswhether the next location to the right of the eye character (i.e., thelocation directly adjacent to the right of the eye character) includes amouth character set at 158. If the next location includes a mouthcharacter set at 158, the processor 20 then determines whether the nextlocation to the right includes both a mouth character and a nosecharacter at 160. If the next location to the right does not includeboth a mouth character and a nose character at 160, the processor 20then identifies the eye character set and mouth character set asdefining the primary face attributes at 162. If, however, the processor20 determines that the location directly to the right of the eyecharacter set includes both a mouth and a nose character set at 160, theprocessor 20 then determines whether the third location to the right ofthe eye character set includes a mouth character set at 164.

If the third location includes a mouth character set, the processor 20then determines that the eye character set, the nose character set, andthe mouth character set define the primary face attributes at 166. If,however, the third location to the right of the eye character set doesnot include a mouth character, as determined at step 164, the processor20 then determines whether the third location to the right of the eyecharacter set includes a nose group (B) character as defined in FIG. 10at 168. If the third location does not include a nose group (B)character at 168, the processor 20 determines the primary faceattributes based on the eye character set and the mouth character set at162. If, however, the third location to the right of the eye characterset includes a nose group (B) character, the processor 20 thendetermines whether the fourth location to the right of the eye characterset includes a mouth character set at 170. If the fourth location to theright of the eye character set includes a mouth character set, asdetermined at 170, the processor 20 then determines that the primaryface attributes are defined by the eye character set, the nose charactersets, and the mouth character set at 172. If, however, the processor 20determines the fourth location to the right of the eye character setdoes not include a mouth character set, as determined at 170, theprocessor 20 then identifies the eye character set and mouth characterset as defining the primary face attributes at 162.

If the eye character is an eye character from group (A) or from group(B) at 156, and the next location to the right of the eye character doesnot include a mouth character set at 158, the processor 20 determineswhether the next location to the right of the eye character set includesa nose character set at 176. If the next location directly adjacent tothe right of the eye character set does not include a nose character setat 176, the processor 20 determines whether each of the eye charactersets of the table shown in FIG. 10 have been considered at 150. If thenext location directly adjacent to the right of the eye character set isdetermined to include a nose character set at 176, the processor 20 thendetermines whether the third location to the right of the eye characterset includes a mouth character set at 178. If so, the eye character set,nose character set, and mouth character set define the primary faceattributes, as set forth in step 166. If, however, the third location tothe right of the eye character set does not include a mouth characterset, the processor 20 then determines whether the third location to theright includes a nose group (B) character, as set forth in FIG. 10 at180. If the processor 20 determines that the third location to the rightof the eye character set does not include a nose character from group(B) at 180, the processor 20 then determines whether each eye characterfrom the sets set forth in FIG. 10 have been considered at 150.

If the third location to the right of the eye character set includes anose character from group (B) at 180, the processor 20 then determinesif the fourth location to the right of the eye character set includes amouth character set at 182. If the fourth location to the right of theeye character set does not include a mouth character set at 182, theprocessor 20 returns to step 150 to determine if each of the eyecharacter sets of FIG. 10 have been considered. If the fourth locationto the right of the eye character set includes a mouth character set, asdetermined at step 182, the processor 20 then determines the primaryface attributes of the character string based on the eye character set,the nose character sets, and the mouth character set at 172.

If the eye character set is not an eye character set of either group (A)or group (B), as determined at 156, the processor 20 then determineswhether the eye character set is from group (C) at 174 based on thegroups set forth in FIG. 10. If the processor 20 determines that the eyecharacter set is from group (C) at 174, the processor 20 moves to step172 and proceeds as described above.

If the processor 20 determines that the eye character set is not an eyecharacter set of group (C) at 174 (the eye character set is group (D)),the processor 20 then determines the next location to the right todetermine if there is a mouth (B) character set at 184. If the nextlocation to the right does not include a mouth (B) character set at 184,the processor 20 determines whether each of the eye character sets ofthe table shown in FIG. 10 have been considered at 150. If the nextlocation to the right includes a mouth (B) character set, as determinedat step 184, the processor 20 then determines that the eye character setdefines the primary face attributes at 186.

Following step 162, 172 or 186, the processor 20 proceeds to determinewhether the mouth character set is from group (B) or has the attribute“confused” at 188. If not, the processor 20 determines in a location tothe left of the eye character set whether there is an “eyebrow”character defined in the table of FIG. 11 at 194. If the mouth characterset is of group (B) or has the attribute “confused” at 188, theprocessor 20 then determines if the mouth character for “happy,” “sad,”or “confused” is repeated at 190. If not, the processor 20 determines ina location to the left of the eye character set whether there is an“eyebrow” character defined in the table of FIG. 11 at 194. If the mouthcharacter for “happy,” “sad,” or “confused” is repeated at 190, theprocessor 20 adds the term “very” in front of “happy,” “sad,” or“confused” at 192. The processor 20 then determines in a location to theleft of the eye character set whether there is an “eyebrow” characterdefined in the table of FIG. 11 at 194.

Following step 188, 190 or 192, if the location to the left of the eyecharacter set does not include an “eyebrow” character at 194, theprocessor 20 determines whether the location left of the eye characterset or eyebrow character includes a “hair” character, as set forth inthe table of FIG. 11 at 198. If the location to the left of the eyecharacter set includes an “eyebrow” character at 194, the processor 20adds the eyebrow attribute if the character is found in the table ofFIG. 11 at 196. The processor 20 then determines whether the locationleft of the eye character set or eyebrow character includes a “hair”character, as set forth in the table of FIG. 11.

Following step 194 or 196, if the location to the left of the eyecharacter set or eyebrow character does not include a “hair” characterat 198, the processor 20 then determines whether the location left ofthe eye character set, eyebrow character, or hair character includes a“hat” character at 202 based on the table shown in FIG. 11. If thelocation to the left of the eye character set or eyebrow characterincludes a “hair” character at 198, the processor 20 adds the hairattribute based on the table of FIG. 11 at 200. The processor 20 thendetermines whether the location left of the eye character set, eyebrowcharacter, or hair character includes a “hat” character at 202 based onthe table shown in FIG. 11.

Following step 198 or 200, if the location left of the eye characterset, eyebrow character, or hair character does not include a “hat”character, the processor 20 then determines whether the location to theright of the last mouth character includes a “beard” character based onthe table of FIG. 11 at 206. If the location left of the eye characterset, eyebrow character, or hair character includes a “hat” characterbased on the table of FIG. 11, the processor 20 adds the hat attributeat 204. The processor 20 then determines whether the location to theright of the last mouth character includes a “beard” character based onthe table of FIG. 11 at 206.

Following step 202 or 204, if the location to the right of the lastmouth character does not include a “beard” character based on the tableshown in FIG. 11, the processor 20 then exits the horizontalleft-to-right face algorithm and identifies the horizontal-facedescription based on the table of FIGS. 10 and 11 at 210. If thelocation to the right of the last mouth character includes a “beard”character based on the table shown in FIG. 11, the processor 20 thenadds a beard attribute at 208. The processor 20 then exits thehorizontal left-to-right face algorithm and identifies thehorizontal-face description based on the table of FIGS. 10 and 11 at210.

With particular reference to FIGS. 7A-7C, the processor 20 firstinitiates the right-to-left horizontal face algorithm at 212. Theprocessor 20 then checks the character string received from the mobiledevice 14 from right-to-left until a first eye character set is found,as set forth in the table of FIG. 12 or the end of the character stringis determined at 214. The processor 20 then determines whether the endof the character string has been reached at 216 and, if so, determineswhether each eye character set forth in the table of FIG. 12 has beenconsidered at 218 and, if so, exits the horizontal right-to-left facealgorithm and indicates that the character string does not represent aright-to-left horizontal face at 220. If the processor 20 determinesthat each character set forth in the table of FIG. 12 has not beenconsidered at 218, the processor 20 proceeds to continue to check thecharacter string from right-to-left until the next eye character set isfound or the end of the character string is determined at 222.

If the end of the character string is not determined at 216, theprocessor 20 then determines whether the eye character is an eyecharacter from group (A) or from group (B) at 224. If the eye characteris from either group (A) or group (B), the processor 20 then determineswhether the next location to the left of the eye character (i.e., thelocation directly adjacent to the left of the eye character) includes amouth character set at 226. If the next location includes a mouthcharacter set at 226, the processor 20 then determines whether the nextlocation to the left includes both a mouth character and a nosecharacter at 228. If the next location to the left does not include botha mouth character and a nose character at 228, the processor 20 thenidentifies the eye character set and mouth character set as defining theprimary face attributes at 230. If, however, the processor 20 determinesthat the location directly to the left of the eye character set includesboth a mouth and a nose character set at 228, the processor 20 thendetermines whether the third location to the left of the eye characterset includes a mouth character set at 232.

If the third location includes a mouth character set, the processor 20then determines that the eye character set, the nose character set, andthe mouth character set define the primary face attributes at 234. If,however, the third location to the left of the eye character set doesnot include a mouth character, as determined at step 232, the processor20 then determines whether the third location to the left of the eyecharacter set includes a nose group (B) character as defined in FIG. 12at 236. If the third location does not include a nose group (B)character at 236, the processor 20 determines the primary faceattributes based on the eye character set and the mouth character set at230. If, however, the third location to the left of the eye characterset includes a nose group (B) character, the processor 20 thendetermines whether the fourth location to the left of the eye characterset includes a mouth character set at 238. If the fourth location to theleft of the eye character set includes a mouth character set, asdetermined at 238, the processor 20 then determines that the primaryface attributes are defined by the eye character set, the nose charactersets, and the mouth character set at 240. If, however, the processor 20determines the fourth location to the left of the eye character set doesnot include a mouth character set, as determined at 238, the processor20 then identifies the eye character set and mouth character set asdefining the primary face attributes at 230.

If the eye character is an eye character from group (A) or from group(B) at 224, and the next location to the left of the eye character doesnot include a mouth character set at 226, the processor 20 determineswhether the next location to the left of the eye character set includesa nose character set at 244. If the next location directly adjacent tothe left of the eye character set does not include a nose character setat 244, the processor 20 determines whether each of the eye charactersets of the table shown in FIG. 12 have been considered at 218. If thenext location directly adjacent to the left of the eye character set isdetermined to include a nose character set at 244, the processor 20 thendetermines whether the third location to the left of the eye characterset includes a mouth character set at 246. If so, the eye character set,nose character set, and mouth character set define the primary faceattributes, as set forth in step 234. If, however, the third location tothe left of the eye character set does not include a mouth characterset, the processor 20 then determines whether the third location to theleft includes a nose group (B) character, as set forth in FIG. 12 at248. If the processor 20 determines that the third location to the leftof the eye character set does not include a nose character from group(B) at 248, the processor 20 then determines whether each eye characterfrom the sets set forth in FIG. 12 have been considered at 218.

If the third location to the left of the eye character set includes anose character from group (B) at 248, the processor 20 then determinesif the fourth location to the left of the eye character set includes amouth character set at 250. If the fourth location to the left of theeye character set does not include a mouth character set at 250, theprocessor 20 returns to step 218 to determine if each of the eyecharacter sets of FIG. 12 have been considered. If the fourth locationto the left of the eye character set includes a mouth character set, asdetermined at step 250, the processor 20 then determines the primaryface attributes of the character string based on the eye character set,the nose character sets, and the mouth character set at 240.

If the eye character set is not an eye character set of either group (A)or group (B), as determined at 224, the processor 20 then determineswhether the eye character set is from group (C) at 242 based on thegroups set forth in FIG. 12. If the processor 20 determines that the eyecharacter set is from group (C) at 174, the processor 20 moves to step244 and proceeds as described above.

If the processor 20 determines that the eye character set is not an eyecharacter set of group (C) at 242 (the eye character set of group (D)),the processor 20 then determines the next location to the left todetermine if there is a mouth (B) character set at 252. If the nextlocation to the left does not include a mouth (B) character set at 252,the processor 20 determines whether each of the eye character sets ofthe table shown in FIG. 12 have been considered at 218. If the nextlocation to the left includes a mouth (B) character set, as determinedat step 252, the processor 20 then determines that the eye character setdefines the primary face attributes at 254.

Following step 230, 240 or 254, the processor 20 proceeds to determinewhether the mouth character set is from group (B) or has the attribute“confused” at 256. If not, the processor 20 determines in a location tothe right of the eye character set whether there is an “eyebrow”character defined in the table of FIG. 13 at 262. If the mouth characterset is of group (B) or has the attribute “confused” at 256, theprocessor 20 then determines if the mouth character for “happy,” “sad,”or “confused” is repeated at 258. If not, the processor 20 determines ina location to the right of the eye character set whether there is an“eyebrow” character defined in the table of FIG. 13 at 262. If the mouthcharacter for “happy,” “sad,” or “confused” is repeated at 258, theprocessor 20 adds the term “very” in front of “happy,” “sad,” or“confused” at 260. The processor 20 then determines in a location to theright of the eye character set whether there is an “eyebrow” characterdefined in the table of FIG. 13 at 262.

Following step 256, 258, or 260, if the location to the right of the eyecharacter set does not include an “eyebrow” character at 262, theprocessor 20 determines whether the location right of the eye characterset or eyebrow character includes a “hair” character, as set forth inthe table of FIG. 13 at 266. If the location to the right of the eyecharacter set includes an “eyebrow” character at 262, the processor 20adds the eyebrow attribute if the character is found in the table ofFIG. 13 at 264. The processor 20 then determines whether the locationright of the eye character set or eyebrow character includes a “hair”character, as set forth in the table of FIG. 13.

Following step 262 or 264, if the location to the right of the eyecharacter set or eyebrow character does not include a “hair” characterat 266, the processor 20 then determines whether the location right ofthe eye character set, eyebrow character, or hair character includes a“hat” character at 270 based on the table shown in FIG. 13. If thelocation to the right of the eye character set or eyebrow characterincludes a “hair” character at 266, the processor 20 adds the hairattribute based on the table of FIG. 13 at 268. The processor 20 thendetermines whether the location right of the eye character set, eyebrowcharacter, or hair character includes a “hat” character at 270 based onthe table shown in FIG. 13.

Following step 266 or 268, if the location right of the eye characterset, eyebrow character, or hair character does not include a “hat”character, the processor 20 then determines whether the location to theleft of the last mouth character includes a “beard” character based onthe table of FIG. 13 at 274. If the location right of the eye characterset, eyebrow character, or hair character includes a “hat” characterbased on the table of FIG. 13, the processor 20 adds the hat attributeat 272. The processor 20 then determines whether the location to theleft of the last mouth character includes a “beard” character based onthe table of FIG. 13 at 274.

Following step 270 or 272, if the location to the left of the last mouthcharacter does not include a “beard” character based on the table shownin FIG. 13, the processor 20 then exits the horizontal right-to-leftface algorithm and identifies the horizontal-face description based onthe table of FIGS. 12 and 13 at 278. If the location to the left of thelast mouth character includes a “beard” character based on the tableshown in FIG. 13, the processor 20 then adds a beard attribute at 276.The processor 20 then exits the horizontal right-to-left face algorithmand identifies the horizontal-face description based on the table ofFIGS. 12 and 13 at 278.

What is claimed is:
 1. A vehicle communication system comprising: atleast one communication device operable to audibly communicateinformation within the vehicle; and a controller receiving a characterstring from an external device and operable to determine if saidcharacter string represents an emoticon, said controller translatingsaid character string into a face description if said character stringrepresents an emoticon and audibly communicating said face descriptionvia said at least one communication device.
 2. The vehicle communicationsystem of claim 1, wherein said at least one communication deviceincludes a sound system of the vehicle.
 3. The vehicle communicationsystem of claim 1, wherein said controller performs an algorithm on saidcharacter string to determine if said character string represents anemoticon.
 4. The vehicle communication system of claim 3, wherein saidcontroller determines said character string is an emoticon if saidcharacter string contains zero spaces and either two or morenon-alphabetic characters or one or more non-alphabetic characters andtwo or less alphabetic characters.
 5. The vehicle communication systemof claim 1, wherein said controller references said character string ona database of emoticons to determine said face description andsubsequently applies a series of rules to said character string if saidcharacter string does not match an emoticon of said database todetermine said face description.
 6. The vehicle communication system ofclaim 1, further comprising a user interface, said controller visuallydisplaying at least one of said character string, said emoticon, andsaid face description via said user interface.
 7. The vehiclecommunication system of claim 1, wherein said controller applies aseries of rules to said character string to determine if said emoticonrepresents a vertical face or a horizontal face.
 8. The vehiclecommunication system of claim 7, wherein said controller differentiatesbetween a left-to-right horizontal face and a right-to-left horizontalface.
 9. The vehicle communication system of claim 7, wherein saidcontroller determines whether said emoticon represents a left-to-righthorizontal face or a right-to-left horizontal face based on the order ofthe characters in said character string.
 10. A method comprising:receiving a character string; determining by a processor whether saidcharacter string represents an emoticon; performing by said processor avertical-face algorithm to determine if said character string representsa vertical face; performing by said processor a horizontal-facealgorithm to determine if said character string represents a horizontalface; translating by said processor said character string into a facedescription based on the outcome of at least one of said vertical-facealgorithm and said horizontal-face algorithm; and communicating saidface description.
 11. The method of claim 10, wherein communicating saidface description includes at least one of visually and audiblycommunicating said face description.
 12. The method of claim 11, whereinaudibly communicating said face description includes audiblycommunicating said face description via a sound system of a vehicle. 13.The method of claim 10, wherein determining whether said characterstring represents an emoticon includes determining whether saidcharacter string contains zero spaces and either two or morenon-alphabetic characters or one or more non-alphabetic characters andtwo or less alphabetic characters.
 14. The method of claim 10, furthercomprising referencing by said processor said character string on adatabase of emoticons to determine said face description prior toperforming said vertical-face algorithm and said horizontal-facealgorithm.
 15. The method of claim 10, further comprising applying bysaid processor a series of rules to said character string to determineif said emoticon represents a vertical face or a horizontal face. 16.The method of claim 15, further comprising differentiating by saidprocessor between a left-to-right horizontal face and a right-to-lefthorizontal face.
 17. The method of claim 15, further comprisingdetermining by said processor whether said emoticon represents aleft-to-right horizontal face or a right-to-left horizontal face basedon the order of the characters in said character string.
 18. The methodof claim 10, further comprising communicating non-emoticon portions ofsaid character string.
 19. The method of claim 18, wherein communicatingsaid non-emoticon portions of said character string includes at leastone of visually and audibly communicating said non-emoticon portions viaa vehicle system.
 20. A method comprising: receiving a character string;determining by a processor whether said character string includes aspace; removing by said processor said space; splitting by saidprocessor said character string into a first character string and asecond character string at said space; determining by said processorwhether either or both of said first character string and said secondcharacter string represents an emoticon; performing by said processor avertical-face algorithm to determine if either or both of said firstcharacter string and said second character string represents a verticalface; performing by said processor a horizontal-face algorithm todetermine if either or both of said first character string and saidsecond character string represents a horizontal face; translating bysaid processor at least one of said first character string and saidsecond character string into a face description based on the outcome ofat least one of said vertical-face algorithm and said horizontal-facealgorithm; and communicating said face description.